package com.yidu.qianfeng.mapper;

import com.yidu.qianfeng.common.bean.Vehicle.CarInfo;
import com.yidu.qianfeng.common.bean.company.Subst;
import com.yidu.qianfeng.common.bean.shunt.ShuntLeftBean;
import com.yidu.qianfeng.common.bean.transport.TransportProtocol;
import com.yidu.qianfeng.common.bean.waybill.Waybill;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 分流
 * @author 张兴兴
 * @date 2021/3/25 16:25
 */
@Mapper
@Repository("shuntMapper")
public interface ShuntMapper {
    /**
     * 连表 分页查询 装车协议表
     *
     * @return
     */
    public List<TransportProtocol> queryTrans(@Param("carloadTransNum") String carloadTransNum, @Param("empStubstId") String empStubstId);

    /**
     * 查询  运单表 数据 根据装车表中的 carloadSeqNum 查询
     */
    public Waybill queryWaybill(String carloadSeqNum, int consignType);

    /**
     * 跟据装车序号查询 出 托运单号 进行切割查出 运单集合
     */
    public List<String> queryWaybillConsigNum(String seqNum);

    /**
     * 根据运单id 修改 跟踪表的 状态 改为4（已签收）
     *
     * @param consignNum
     * @return
     */
    public int updateWayBillType(String consignNum, int consignType);


    public Subst selectSubst(String emploginSubst);

    public List<Waybill> queryShunt(String num, int type,String substId);

    public Waybill queryDelivery(/*@Param("consignNum")*/String consignNum);

    public CarInfo querydriverinfo(String carDriver);

    public List<CarInfo> querydriverinfoAll();

    public int addDelivery(HashMap<String, Object> map);

    public List<ShuntLeftBean> queryDeliveryList(String id,String carName);

    /**
     * 根据派送编号 查询出运单编号
     *
     * @param sendNum 派送编号
     * @return 放回运单编号
     */
    public String queryDeliveryWaybill(int sendNum);

    /**
     * 根据派送编号 查询出详细信息；
     * @param sendNum
     * @return
     */
    public ShuntLeftBean queryDeliveryTips(int sendNum);

    /**
     * 根据派送编号修改 派送信息
     * @param map
     * @return
     */
    public int updateDelivery(HashMap map);

    public CarInfo queryDriverT(String carNumber);

    public int deleteDriver(String consignNum);
}
